
package com.be.beadmin.logging.service;

import com.be.beadmin.logging.entity.Log;
import com.be.beadmin.logging.dto.output.LogEx;
import com.be.beadmin.logging.dto.input.LogDto;
import com.be.beadmin.logging.dto.input.LogQueryCriteria;
import org.aspectj.lang.ProceedingJoinPoint;
import org.springframework.data.domain.Page;
import com.be.beadmin.common.entity.PageEntity;
import org.springframework.data.domain.Pageable;
import org.springframework.scheduling.annotation.Async;

import java.util.Map;
import java.util.List;
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;

/**
* @description 服务接口
* @author chenwei
* @date 2022-12-27
**/
public interface LogService {

    /**
    * 分页的查询接口
    * @param pageEntity
    * @return
    */
    Page<LogEx> getLogByPage(PageEntity pageEntity);

    /**
    * @param logDto
    */
    void addLog(LogDto logDto);

    /**
    * @param logDto
    */
    void updateLog(LogDto logDto);

    /**
    * @param id
    */
    void delLog(String id);

    /**
    * 删除多个角色
    * @param ids
    */
    void delLogs (List<String> ids);

    /**
     * 保存用户日志
     * @param username
     * @param browser
     * @param ip
     * @param joinPoint
     * @param log
     */
    @Async
    void save(String username, String browser, String ip, ProceedingJoinPoint joinPoint, Log log);

}